#ifndef ReportTask_H
#define ReportTask_H


//!Includes

#include  "../driver/DriverGnuPlot.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

//!Defines


//!Global Functions


namespace tasks
{

/**
 * class ReportTask
 *
 * Autor:David Bevilaqua
 *
 * DESCRIPTION:
 *
 */

class ReportTask
{
public:

	//!Enums



	//!Constructors/Destructors

	/**
	 * Empty Constructor
	 */
	ReportTask ( );

	/**
	 * Empty Destructor
	 */

	~ReportTask ( );

	//!Public Attributes




	//!Public Accessor Methods
	void SetCount (int val);


	//!Public Methods
	std::vector <CvPoint> GetSignal( );
	void SetSignal(std::vector <CvPoint> vector);
	void CreateSignal(std::string string);
	void PushSignal(CvPoint point);
	void ClearPoints(std::string string);
	void Execute ( );


protected:

	//!Protected Attributes



	//!Protected Methods



private:

	//!Private Attributes
	int count;
	driver::DriverGnuPlot m_DriverPlot;
	std::vector<CvPoint> m_VectorPoint;
	//!Private Methods
	void initAttributes ( );

};

};

#endif
